package cn.tedu.cwgl.mapper;


import cn.tedu.cwgl.entity.House;
import cn.tedu.cwgl.entity.Role;
import cn.tedu.cwgl.entity.UserInfo;
import cn.tedu.cwgl.util.PageModel;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface UserInfoMapper {

    /**
     * 获取单个用户信息，可用于：
     * 1.登录
     * 2.通过用户某一部分信息获取用户完整信息
     *
     * @param userInfo
     * @return
     */
    UserInfo getUserInfo(UserInfo userInfo);

    /**
     * 通过username判断该用户是否存在
     *
     * @param userInfo
     * @return
     */
    int userIsExisted(UserInfo userInfo);

    // 添加用户
    int add(UserInfo userInfo);

    int addRole(Role Role);

    int addHouseId(House house);

    int update(UserInfo userInfo);

    // 获取所有角色
    List<Role> getAllRoles();

    List<Role> getRoles();

    List<UserInfo> getUsersByWhere(PageModel<UserInfo> model);

    int getTotalByWhere(PageModel<UserInfo> model);

    int delete(UserInfo userInfo);
}
